<?php


require_once("Dao.php");

/**
 * DAO de l'objet offre voip.
 *
 * @author Arnaud
*/
class OffreFixeDao extends Dao{

	protected static $tableName = "ve_offre_fixe";


	/**
	 * Suppression d'une offre vga
	 */
	public static function delete($id){
		global $bdd, $logger;

		$logger->info("Suppression de l'offre : " + $id);

		// Suppression de l'offre fixe
		$requete = $bdd->prepare("DELETE FROM ve_offre_fixe WHERE id ='".$id."' ");
		if ($requete->execute()){

			if ($requete->execute()){
				// La suppression c'est correctement réalisée.
				return true;
			}
		}
		$logger->error("Erreur lors de la suppression de l'offre : " + $id);

		// La suppression a produit une erreur
		return false;
	}



	/**
	 * Liste complète des offres fixes
	 */
	public static function getAll(){
		return parent::find(OffreFixeDao::$tableName);
	}

	/**
	 * Recherche par id
	 */
	public static function searchById($id){
		return parent::find(OffreFixeDao::$tableName, "id='".$id."'");
	}

	/**
	 * Retourne toutes les offres fixes par type
	 */
	public static function getOffresFixe($type){
		return parent::find(OffreFixeDao::$tableName, "type='".$type."'");
	}

	/**
	 * Recherche des offres par code offre et nom
	 */
	public static function searchByName($name){
		return parent::find(OffreFixeDao::$tableName, "nom LIKE '%".$name."%' OR code_article LIKE '%".$name."%' OR type LIKE '%".$name."%'");
	}

	/*/**
	 * Création de l'offre 
	*/
public static function create($id, $code_article, $nom, $type, $options_incluses, $temps_min, $jours, $horaires,$fixe,$mobile,$international, $interne, $pv0m, $pv12m, $pv24m, $pv36m, $pv48m, $id_ha){
		return parent::exec("INSERT INTO `ve_offre_fixe` 
		(`id`, `code_article`, `nom`, `type`, `options_incluses`, `temps_min`, `jours`, `horaires`,`fixe`,`mobile`,`international`, `interne`, `pv0m`, `pv12m`, `pv24m`, `pv36m`, `pv48m`, `id_ha`) 
							VALUES 
('".$id."', '".$code_article."', '".$nom."', '".$type."', '".$options_incluses."', '".$temps_min."', '".$jours."','".$horaires."','".$fixe."','".$mobile."', '".$international."', '".$interne."', '".$pv0m."', '".$pv12m."', '".$pv24m."', '".$pv36m."', '".$pv48m."', '".$id_ha."') ");
	}
	
	/*/**
	 * Update  offre 
	*/
public static function update($id,$code_achat,$options,$code_article,$nom,$temps_min,$jours,$horaires,$fixe,$mobile,$international,$pv0m,$pv12m,$pv24m,$pv36m,$pv48m,$choix_pays){
		return parent::exec("UPDATE ve_offre_fixe  SET  id_ha='".$code_achat."', options_incluses='".$options."', nom='".$nom."', temps_min='".$temps_min."', jours='".$jours."', horaires='".$horaires."', fixe='".$fixe."', mobile='".$mobile."', international='".$choix_pays."', pv0m='".$pv0m."', pv12m='".$pv12m."', pv24m='".$pv24m."', pv36m='".$pv36m."', pv48m='".$pv48m."'  WHERE id=".$id."" );


	}
	
	/**
	 * Liste complète des listes pays vga
	 */
	public static function getAllPaysVga(){
		return parent::find("pays_international_fixe_mobile", "type = 'vga' or type = 'vga-num' ");
	}
	
	/**
	 * Liste complète des listes pays voip
	 */
	public static function getAllPaysVoip(){
		return parent::find("pays_international_fixe_mobile", "type = 'voip' ");
	}

}

